package cn.ylz.ylmall.content.service;

import cn.ylz.ylmall.account.pojo.vo.PageData;
import cn.ylz.ylmall.account.security.CurrentPrincipal;
import cn.ylz.ylmall.content.pojo.entity.Comment;
import cn.ylz.ylmall.content.pojo.param.CommentAddNewParam;
import cn.ylz.ylmall.content.pojo.vo.CommentListItemVO;
import cn.ylz.ylmall.content.pojo.vo.CommentStandardVO;
import cn.ylz.ylmall.content.pojo.vo.CountVO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Transactional
public interface ICommentService {
    void addNew(CommentAddNewParam commentAddNewParam, CurrentPrincipal currentPrincipal);

    void delete(Long id,CurrentPrincipal currentPrincipal);

    CommentStandardVO getStandardById(Long id);

    List<CommentListItemVO> listByContentId(Long contentId);

    CountVO countByContentId(Long contentId);


    void addNew(CommentAddNewParam commentAddNewParam, CurrentPrincipal currentPrincipal, Long id);

    List<CommentStandardVO> getChild(Long id);
}
